﻿<?php

/**
 *
 */
class Mnhaxuatban extends CI_Model {

    private $manxb;
    private $Status_manxb;
    private $tennxb;
    private $Status_tennxb;
    private $diachi;
    private $Status_diachi;

    public function __construct() {
        parent::__construct();
        $this->load->database();
        $this->Oncreate();
    }

    private function Oncreate() {
        $this->manxb = "";
        $this->Status_manxb = 0;
        $this->tennxb = "";
        $this->Status_tennxb = 0;
        $this->diachi = "";
        $this->Status_diachi = 0;
    }

    public function set_manxb($data) {
        $this->manxb = $data;
        $this->Status_manxb = 1;
    }

    public function set_tennxb($data) {
        $this->tennxb = $data;
        $this->Status_tennxb = 1;
    }

    public function set_diachi($data) {
        $this->diachi = $data;
        $this->Status_diachi = 1;
    }

    public function get_manxb() {
        return $this->manxb;
    }

    public function get_tennxb() {
        return $this->tennxb;
    }

    public function get_diachi() {
        return $this->diachi;
    }

    /**
     *
     * Get  Oject
     *
     * @strWhere    Mệnh đề where
     * @return     no return. đưa các giá trị vào object gọi hàm()
     *
     */
    public function getObject($strWhere) {
        $this->Oncreate();
        $this->db->where($strWhere, NULL, FALSE);
        $query = $this->db->get("nhaxuatban");
        $ar = $query->row_array();
        if (!empty($ar)) {
            $this->manxb = $ar["manxb"];
            $this->tennxb = $ar["tennxb"];
            $this->diachi = $ar["diachi"];
        }
    }

    /**
     *
     * Insert Object into database
     *
     */
    public function Save() {
        $data = array("manxb" => $this->manxb, "tennxb" => $this->tennxb, "diachi" => $this->diachi);
        $this->db->insert("nhaxuatban", $data);
    }

    /**
     *
     * Update Object có các field sử dụng hàm set_()
     *
     * @strWhere=null update tất cả các row trong database
     *
     */
    public function UpdateField($strWhere = NULL) {
        $arr = array();
        if ($this->Status_manxb == 1)
            $arr["manxb"] = $this->manxb;
        if ($this->Status_tennxb == 1)
            $arr["tennxb"] = $this->tennxb;
        if ($this->Status_diachi == 1)
            $arr["diachi"] = $this->diachi;
        if (!empty($strWhere)) {
            $this->db->where($strWhere, NULL, FALSE);
        }
        $this->db->update("nhaxuatban", $arr);
    }

    /**
     *
     * Get list Oject
     *
     * @strFieldName         Các field cần lấy dữ liệu
     * @strWhere             Mệnh đề where
     * @strOrderby           Ex: 'title desc, name asc'
     * @Limit_Number_Row     Số dòng dữ liệu cần lấy ra
     * @Limit_Start_Index    Vị trí bắt đầu lấy dữ liệu
     *     foreach ($t as $value) {
      $ob=(object)($value);
      echo $ob->nhaxuatbanname;
      echo $ob->pass;
      }
     * @return               result_object();
     *
     */
    public function getListObject($strFieldName = NULL, $strWhere = NULL, $strOrderby = NULL, $Limit_Number_Row = NULL, $Limit_Start_Index = NULL) {
        if (!is_null($strWhere)) {
            $this->db->where($strWhere, NULL, FALSE);
        }
        if (!is_null($strFieldName)) {
            $this->db->select($strFieldName);
        }
        if (!is_null($strOrderby)) {
            $this->db->order_by($strOrderby);
        }
        if (!is_null($Limit_Number_Row)) {
            if (!is_null($Limit_Start_Index))
                $this->db->limit($Limit_Number_Row, $Limit_Start_Index);
            else {
                $this->db->limit($Limit_Number_Row);
            }
        }
        $query = $this->db->get("nhaxuatban");
        return $query->result_object();
    }

    /**
     *
     * Get list Oject
     *
     * @strWhere    Mệnh đề where. Null sẽ xóa hết dữ liệu của table
     * @return      no
     *
     */
    public function Delete($strWhere = NULL) {
        if (!is_null($strWhere)) {
            $this->db->where($strWhere, NULL, FALSE);
            $this->db->delete("nhaxuatban");
        }
        else
            $this->db->empty_table('nhaxuatban');
    }

    /**
     *
     * Lây max giá trị kiểu int của 1 trường dữ liệu
     *
     * @strFieldName    Trường dữ liệu cần lấy max(1 trường duy nhất)
     * @strWhere        Mệnh đề where
     * @return          1 giá trị kiểu string
     *
     */
    public function Max($strFieldName, $strWhere = NULL) {
        if (!is_null($strWhere))
            $this->db->where($strWhere, NULL, FALSE);
        $this->db->select_max($strFieldName);
        $query = $this->db->get('nhaxuatban');
        $ob = $query->row_array();
        return $ob[$strFieldName];
    }

    public function GetByManxb($manxb) {
        $this->db->select("*"); //('MATP,TENTP,HINHANH,NAMXB,TP.MANXB,SOTRANG,CAPTION,GIAGOC,GIABAN,TENNXB');
        $this->db->from('nhaxuatban');
        $this->db->where('manxb', $manxb);
        $ar = $this->db->get()->row_array();
        if (!empty($ar)) {

            $this->manxb = $ar["MANXB"];
            $this->tennxb = $ar["TENNXB"];
            $this->diachi = $ar["DIACHI"];
        }
    }

    public function ToArray() {
        return $data = array("MANXB" => $this->manxb, "TENNXB" => $this->tennxb, "DIACHI" => $this->diachi);
    }

}
?>